package com.sinog.biz.service.business;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sinog.core.domain.PlacementBaseInfo;
import com.sinog.core.utilbean.Result;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;

/**
 * @desc 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - PlacementBaseInfoService
 * @author dangyf
 * @date -
 */
@RestController
public interface PlacementBaseInfoService extends IService<PlacementBaseInfo> {

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - 列表
     * @param searchKey searchKey
     * @param pageIndex pageIndex
     * @param pageSize pageSize
     * @param searchPlacement searchPlacement
     * @param departId departId
     * @return String
     */
    @GetMapping("/azbj/placementBaseInfoList")
    String getPlacementBaseInfoList(
            @RequestParam("searchKey") String searchKey,
            @RequestParam("pageIndex") Integer pageIndex,
            @RequestParam("pageSize") Integer pageSize,
            @RequestParam("searchPlacement") String searchPlacement,@RequestParam("departId") String departId);

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - （修改/新增）
     * @param data data
     * @param loginUserParam loginUserParam
     * @return Result
     */
    @PostMapping("/azbj/placementBaseInfoSave")
    Result save(@RequestParam("data") String data,@RequestParam Map<String,String> loginUserParam);

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - 删除
     * @param id id
     * @return Result
     */
    @DeleteMapping("/azbj/placementBaseInfoDel/{id}")
    Result deleteOne(@PathVariable("id") String id);

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - 导出
     * @param departId departId
     * @return Result
     */
    @RequestMapping("/azbj/selectPlaceBaseForExport")
    List<Map<String,Object>> selectPlaceBaseForExport(@RequestParam("departId") String departId);

    /**
     * 安置帮教管理 - 安置工作信息管理 - 新增基地人数
     * @param data data
     * @return Result Result
     */
    @RequestMapping("/azbj/jdxxgl/placementJd/saveNum")
    Result saveJdNumByJdmc(@RequestParam("data") String data);

    /**
     * 查找基地下是否有安置的服刑人员
     * @param id id
     * @return Result
     */
    @GetMapping("/azbj/jdxxgl/placementBaseInfo/getBaseHasPm/{id}")
    Result getBaseHasPm(@RequestParam("id") String id);

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 修改安帮基地信息的展示状态
     * @param id id
     * @param status status
     * @return Result
     */
    @PostMapping("/azbj/placementBaseInfoShows/{id}/{status}")
    Result updateShows(@PathVariable("id") String id,@PathVariable("status") String status);
}